<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客编辑</title>

    <!-- 引入自己写的样式 -->
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/editormd.js"></script>
    <script src="js/urlTools.js"></script>
    <script src="js/sessionTools.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="img/logo2.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 用来占据中间位置 -->
        <span class="spacer"></span>
        <a href="blog_list.html">博客主页</a>
        <a href="blog_draft.html">草稿箱</a>
        <!-- 在 herf 中写事件的格式 -->
        <a href="Javascript:exit()">注销</a>
    </div>
    <!-- 编辑框容器 -->
    <div class="blog-edit-container">
        <!-- 标题编辑区 -->
        <div class="title">
            <input type="text" placeholder="在这里写下文章标题" id="title">
            <button onclick="mysub()">发布文章</button>
        </div>

        <div class="title">
            <input type="text" placeholder="文章摘要 120 字以内" id="description">
        </div>

        <!-- 创建编辑器标签 -->
        <div id="editorDiv">
            <textarea id="editor-markdown" style="display:none;"></textarea>
        </div>
    </div>

    <script>
        var editor;
        function initEdit(md) {
            // 编辑器设置
            editor = editormd("editorDiv", {
                // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉. 
                width: "100%",
                // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
                height: "calc(100% - 50px)",
                // 编辑器中的初始内容
                markdown: md,
                // 指定 editor.md 依赖的插件路径
                path: "editor.md/lib/",
                saveHTMLToTextarea: true // 
            });
        }
        //initEdit("# 在这里写下一篇博客"); // 初始化编译器的值

        var isSubmit = 1; // 默认为 1 表示文章查询正常
        var id = 0;
        // 1. 点击修改之后再页面显示当前文章的标题和正文
        //    我的文章主页中, 点击修改后 url 中传来 uid
        function initArticle() {

            id = getParamByKey('id'); // 获取文章 id
            if (id == null || id <= 0) {
                isSubmit = 0; // 为 0 表示参数异常
                alert("参数异常!");
                return false;
            }

            // 发送 id 给后端进行查询内容
            jQuery.ajax({
                url: "/article/initArticle",
                type: "post",
                data: {
                    'id': id,
                },
                success: function (res) {
                    // 根据 id 查询文章返回的是文章对象, 并设置到 data 中
                    if (res.data != null && res.data.id > 0 && res.code == 200) {
                        // 初始化成功
                        // 1. 设置标题
                        jQuery("#title").val(res.data.title);

                        // 2. 设置摘要
                        jQuery("#description").val(res.data.description);

                        // 3. 设置正文
                        initEdit(res.data.content);
                    } else {
                        // id 有误, 无法显示
                        isSubmit = 0;
                        alert("参数有误!")
                    }
                }

            });

        }

        // 回调初始化方法
        initArticle();

        // 提交
        function mysub() {
            // alert(editor.getValue()); // 获取值
            // editor.setValue("#123") // 设置值

            if (isSubmit == 0) {
                // 参数错误, 无需提交修改操作
                alert("文章异常, 请刷新页面重试!");
                return false;
            }

            // 1. 获取标签
            var title = jQuery("#title");
            var description = jQuery("#description");
            var content = editor.getValue(); // 获取 md 编辑窗口中的内容

            // 2. 数据校验
            if (title.val().trim() == '') {
                alert("请输入标题 !");
                title.focus();
                return false;
            }

            // 需要注意 md 中的初始内容如果不删除会无法正确判断
            if (content == null || content == '' || content == '# 在这里写下一篇博客') {
                alert("请编辑正文 !");
                jQuery("#editor-markdown").focus();
                return false;
            }

            jQuery.ajax({
                url: '/article/update',
                type: 'post',
                data: {
                    'id': id,
                    'title': title.val().trim(),
                    'description': description.val().trim(),
                    'content': content
                },
                success: function (res) {
                    if (res.code == 200 && res.data == 1) {
                        alert("修改成功!");
                        location.href = "myblog_list1.html";
                    } else {
                        alert("修改异常, 请刷新后重试!");
                        return false;
                    }
                }
            });
        }


    </script>
</body>

</html>